Result 型を使ってエラーを明示する
from Implementation: Working with Errors
FP では、ものごとをできるだけ明示的にする ことを重視している
エラー処理についても同様
成功したか失敗したか、失敗した原因はなにかを明示する
全域関数
例外を使うと、シグネチャからどんなエラーが起こるか分からない
code:fsharp
type CheckAddressExists = UnvalidatedAddress -> CheckedAddress
最初のステップの実装#66a79ab075d04f00007cc26e
Result 型を使うことで実現できる
code:fsharp
type CheckAddressExists =
UnvalidatedAddress -> Result<CheckedAddress, AddressValidationError>
and AddressValidationError =
| InvalidFormat of string
| AddressNotFound of string